import request from '../../utils/request'
import PubSub from 'pubsub-js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    day: '00',
    month: '00',
    songList: [],
    songId:"",
  },
  // 请求获取推荐歌曲
  async getSongList() {
    const result = await request('/recommend/songs')
    if (result.code === 200) {
      this.setData({
        songList:result.recommend.map(item=>({
          songName:item.name,
          id:item.id,
          songImg:item.album.picUrl,
          author:item.artists[0].name
        }))
      })
    } 
  },
  toDetail(event){
    // 在推荐页面保存点击的播放歌曲id
    this.setData({
      songId:event.currentTarget.id * 1
    })
    wx.navigateTo({
      url: '/pages/detail/detail?songId=' + this.data.songId,
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      day: new Date().getDate(),
      month: new Date().getMonth() + 1
    })
    this.getSongList()
    // 根据发送过来的上一曲还是下一曲的标识，找到对应的歌曲的id
    PubSub.subscribe('songType',(msg,type)=>{
      //找到当前歌曲下标
      let index =this.data.songList.findIndex(item=>item.id===this.data.songId)
      let newIndex=-1
      if(type === 'next'){
        newIndex = index + 1 > this.data.songList.length - 1?0:index + 1
      }else{
        newIndex = index - 1 < 0?this.data.songList.length - 1:index - 1
      } 
      // 找到新的id也得通信
      PubSub.publish('songId',this.data.songList[newIndex].id)
      // 更新保存的id
      this.setData({
        songId:this.data.songList[newIndex].id
      })
    })


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})